//var combotree = new Ext.form.ComboBox({
//	id:'comboreee',
//	fieldLabel : '指标目录',
////	hiddenName : 'goalDetail.categoryId',
//	store:new Ext.data.SimpleStore({fields:[],data:[[]]}),   //数据
//	editable:false,//是否可编辑的表格
//	selectClass:'',//适用于所有样式 
//	mode: 'local',   //本地数据
//	valueField : 'id',
//	displayField : 'text',
//	triggerAction:'all',  //是否自动匹配
//	autoHeight: true,
//	onSelect:Ext.emptyFn,
//	selectNodeModel: 'leaf', //(all:所有结点都可选中  exceptRoot：除根结点，其它结点都可选(默认) folder:只有目录（非叶子和非根结点）可选 leaf：只有叶子结点可选) 
//	tpl: "<tpl for='.'><div style='height:160px'><div id='catTree'></div></div></tpl>"   //模板 循环
////	applyTo: 'combo'
//});
	
//var catTree = new Ext.tree.TreePanel({
//	id : 'category_tree',
//	title : '指标目录',
//	frame : true,
//	region : 'center',
//	border : false,
//	rootVisible : false,
//	autoScroll : true,
//	firstLoad : true,
//	loader : new Ext.tree.TreeLoader(),
//	root : new Ext.tree.AsyncTreeNode()
//	});
//	
//catTree.on('beforeload', function(node) {
//	var	checkYear = select_year;
//	var nodeId = Ext.num(node.id, null);
//	if (Ext.isNumber(nodeId)) {
//		this.loader.dataUrl = '/supervise/biz/goalcategory/getChildrenById.action?checkYear='
//				+ checkYear + '&nodeId=' + node.id;
//	} else {
//		this.loader.dataUrl = "/supervise/biz/goalcategory/getRoot.action?checkYear=" + checkYear;
//	}
//});
//
//catTree.on('click',function(node){
//		combotree.setValue(node.text); 
//		var hiddens = combotree.ownerCt.findByType('hidden');
//		hiddens[1].setValue(node.id); 
//		combotree.collapse();   //隐藏下拉列表中，如果它展开，这个属性将会完成数据的加载
////    }	
//});   
//combotree.on('expand',function(){ 
//	Ext.get('catTree').innerHTML = '';
//	catTree.render('catTree');//ComboBox的tpl里的<div id='tree'>这个ID可以改成别的, 但必须要在'expand'事件里, 将树显示在这个div上
//});

var cm_query_goaldetail = new Ext.grid.ColumnModel([
	new Ext.grid.CheckboxSelectionModel({singleSelect : false}),
	new Ext.grid.RowNumberer({header : '序号', width : 40, dataIndex: 'id'}),
	{id: 'categoryId',header: "指标目录", width: 80, sortable: true, dataIndex: 'categoryId'},
	{id: 'content',header: "考核内容", width: 200, sortable: true, dataIndex: 'content'},
	{id: 'point',header: "标准分值", width: 60, sortable: true, dataIndex: 'point'},
	{id: 'spec',header: "评分标准", width: 150, sortable: true, dataIndex: 'spec'},
	{id: 'ordering',header: "排序", width: 100, hidden : true, dataIndex: 'ordering'},
	{id: 'memo',header: "备注", width: 100, hidden : true, dataIndex: 'memo'},
	{id: 'checkOrgId',header: "考核责任单位", width: 80, sortable: true, dataIndex: 'checkOrgId'},
	{id: 'percent',header: "换算关系(%)", width: 80, sortable: true, dataIndex: 'percent'},
    {id: 'categoryIdPath',header: "指标目录id 路径 ", width: 80, hidden : true, dataIndex: 'categoryIdPath'},
    {id: 'categoryNamePath',header: "考核指标目录名称路径", width: 80, hidden : true, dataIndex: 'categoryNamePath'},
	{id: 'year',header: "考核年度", width: 120,hidden : true, dataIndex: 'year'}
]);
cm_query_goaldetail.defaultSortable = false;
var window_add_goaldetail = new Ext.Window({
			title : '添加指标细则',
			width : 360,
			height : 440,
			resizable : false,
			autoHeight : true,
			modal : true,
			closeAction : 'hide',
			listeners : {
				'hide' : function() {
//					this.setTitle('添加指标细则');
//					Ext.getCmp("form_add_goaldetail").getForm().reset();
				}
			},
			items : [new Ext.FormPanel({
						id : 'form_add_goaldetail',
						labelWidth : 70,
						labelAlign : 'right',
						url : '/supervise/biz/goaldetail/saveGoalDetail.action',
						method : 'post',
						border : false,
						baseCls : 'x-plain',
						bodyStyle : 'padding:5px 5px 0',
						anchor : '100%',
						defaults : {
							width : 240,
							msgTarget : 'side' // 验证信息显示右边
						},
						defaultType : 'textfield',
						items : [{
									xtype : 'hidden',
									name : 'goalDetail.id'
								},{
									xtype : 'combo',
									fieldLabel : '考核年度',
									hiddenName : 'goalDetail.year',
									valueField : 'value',
									displayField : 'text',
									value: check_year,
									mode : 'remote',
									store : ds_year_select,
									value : select_year,
									selectOnFocus : true,
									editable : false,
									allowBlank : false,
									width : 80,
									typeAhead : true,
									readOnly : true,
									triggerAction : 'all',
									loadingText : '加载中...',
									emptyText : '请选择考核年度',
									listeners : {
										'select' : function(combo, record, index) {
//											select_year = combo.getValue();
//											var root = catTree.getRootNode();
//											root.setText(check_year + year_category);
//											root.reload();
										}
									}
								}, {
									xtype : 'hidden',
									name : 'goalDetail.categoryId'
								},  /*combotree ,*/{
									xtype : 'textarea',
									fieldLabel : '考核内容',
									name : 'goalDetail.content',
									height : 200,
									allowBlank : false
								},{
									xtype : 'numberfield',
									fieldLabel : '标准分值',
									name : 'goalDetail.point',
									allowBlank : false,
									maxLength : 20
								},{
									xtype : 'textarea',
									fieldLabel : '评分标准',
									name : 'goalDetail.spec',
									allowBlank : false
								},{
									xtype : 'hidden',
//									fieldLabel : '排序',
									name : 'goalDetail.ordering',
									value : 4
								}, {
									xtype : 'combo',
									fieldLabel : '考核责任单位',
									hiddenName : 'goalDetail.checkOrgId',
									valueField : 'id',
									displayField : 'name',
									mode : 'remote',
									store : ds_org_select,
									selectOnFocus : true,
									editable : false,
									allowBlank : true,
									triggerAction : 'all',
									loadingText : '加载中...',
									emptyText : '请选择部门'
								},{
									xtype : 'numberfield',
									fieldLabel : '换算关系（％）',
									name : 'goalDetail.percent',
									allowBlank : false,
									maxLength : 20
								}, {
									xtype : 'hidden',
//									fieldLabel : '备注',
									name : 'goalDetail.memo'
								},{ 
									xtype : 'hidden',
//									fieldLabel : '指标目录id 路径',
									name : 'goalDetail.categoryIdPath'
								},{ 
									xtype : 'hidden',
//									fieldLabel : '考核指标目录名称路径',
									name : 'goalDetail.categoryNamePath'
								}],
						buttonAlign : 'center',
						minButtonWidth : 60,
						buttons : []
					})]
		});
		
//var window_edit_goaldetail = new Ext.Window({
//			title : '修改指标细则库',
//			width : 360,
//			height : 440,
//			resizable : false,
//			autoHeight : true,
//			modal : true,
//			closeAction : 'hide',
//			listeners : {
//				'hide' : function() {
//					this.setTitle('修改指标细则库');
//					Ext.getCmp("form_edit_goaldetail").getForm().reset();
//				}
//			},
//			items : [new Ext.FormPanel({
//						id : 'form_edit_goaldetail',
//						labelWidth : 70,
//						labelAlign : 'right',
//						url : '/supervise/biz/goaldetail/saveGoalDetail.action',
//						method : 'post',
//						border : false,
//						baseCls : 'x-plain',
//						bodyStyle : 'padding:5px 5px 0',
//						anchor : '100%',
//						defaults : {
//							width : 240,
//							msgTarget : 'side' // 验证信息显示右边
//						},
//						defaultType : 'textfield',
//						items : [{
//									xtype : 'hidden',
//									name : 'goalDetail.id'
//								},{
//									xtype : 'combo',
//									fieldLabel : '考核年度',
//									hiddenName : 'goalDetail.year',
//									valueField : 'value',
//									displayField : 'text',
//									value: check_year,
//									mode : 'remote',
//									store : ds_year_select,
//									value : select_year,
//									selectOnFocus : true,
//									editable : false,
//									allowBlank : false,
//									width : 80,
//									typeAhead : true,
//									readOnly : true,
//									triggerAction : 'all',
//									loadingText : '加载中...',
//									emptyText : '请选择考核年度',
//									listeners : {
//										'select' : function(combo, record, index) {
//											select_year = combo.getValue();
//											var root = catTree.getRootNode();
////											root.setText(check_year + year_category);
//											root.reload();
//										}
//									}
//								}, {
//									xtype : 'hidden',
//									name : 'goalDetail.categoryId'
//								},  combotree ,{
//									xtype : 'textarea',
//									fieldLabel : '考核内容',
//									name : 'goalDetail.content',
//									height : 200,
//									allowBlank : false
//								},{
//									xtype : 'numberfield',
//									fieldLabel : '标准分值',
//									name : 'goalDetail.point',
//									allowBlank : false,
//									maxLength : 20
//								},{
//									xtype : 'textarea',
//									fieldLabel : '评分标准',
//									name : 'goalDetail.spec',
//									allowBlank : false
//								},{
//									xtype : 'hidden',
////									fieldLabel : '排序',
//									name : 'goalDetail.ordering',
//									value : 4
//								}, {
//									xtype : 'combo',
//									fieldLabel : '考核责任单位',
//									hiddenName : 'goalDetail.checkOrgId',
//									valueField : 'id',
//									displayField : 'name',
//									mode : 'remote',
//									store : ds_org_select,
//									selectOnFocus : true,
//									editable : false,
//									allowBlank : true,
//									triggerAction : 'all',
//									loadingText : '加载中...',
//									emptyText : '请选择部门'
//								},{
//									xtype : 'numberfield',
//									fieldLabel : '换算关系（％）',
//									name : 'goalDetail.percent',
//									allowBlank : false,
//									maxLength : 20
//								}, {
//									xtype : 'hidden',
////									fieldLabel : '备注',
//									name : 'goalDetail.memo'
//								},{ 
//									xtype : 'hidden',
////									fieldLabel : '指标目录id 路径',
//									name : 'goalDetail.categoryIdPath'
//								},{ 
//									xtype : 'hidden',
////									fieldLabel : '考核指标目录名称路径',
//									name : 'goalDetail.categoryNamePath'
//								}],
//						buttonAlign : 'center',
//						minButtonWidth : 60,
//						buttons : [{
//									text : '修改',
//									handler : function(btn) {
//										var frm = Ext.getCmp("form_edit_goaldetail").getForm();
//										if (frm.isValid()) {
//											btn.disable();
//											var cnfield = frm.findField('goalDetail.content');
//											frm.submit({
//														waitTitle : '请稍候',
//														waitMsg : '正在提交表单数据,请稍候...',
//														success : function(form, action) {
//															var record = grid_query_goaldetail.getSelectionModel().getSelected();
//															// set value
//															record.set("categoryId", frm.findField('goalDetail.categoryId').getValue());
//															record.set("content", frm.findField('goalDetail.content').getValue());
//															record.set("point", frm.findField('goalDetail.point').getValue());
//															record.set("spec", frm.findField('goalDetail.spec').getValue());
//															record.set("ordering", frm.findField('goalDetail.ordering').getValue());
//															record.set("memo", frm.findField('goalDetail.memo').getValue());
//															record.set("checkOrgId", frm.findField('goalDetail.checkOrgId').getValue());
//															record.set("percent", frm.findField('goalDetail.percent').getValue());
//															record.set("categoryIdPath", frm.findField('goalDetail.categoryIdPath').getValue());
//															record.set("categoryNamePath", frm.findField('goalDetail.categoryNamePath').getValue());
//															record.set("year", frm.findField('goalDetail.year').getValue());
//															frm.reset();
//															btn.enable();
//															window_edit_goaldetail.hide();
//														},
//														failure : function() {
//															Ext.Msg.show({
//																		title : '错误提示',
//																		msg : '"' + cnfield.getValue() + '" ' + '名称可能已经存在!',
//																		buttons : Ext.Msg.OK,
//																		fn : function() {
//																			cnfield.focus(true);
//																			btn.enable();
//																		},
//																		icon : Ext.Msg.ERROR
//																	});
//														}
//													});
//										}
//									}
//								}, {
//									text : '取消',
//									handler : function() {
//										window_edit_goaldetail.hide();
//									}
//								}]
//					})]
//		});
var btn_add_goal_setting = new Ext.Button({
	text : '加入',
	iconCls : 'icon-add',
	handler : function() {
		if(!grid_query_goaldetail.checkMany()){
			return;
		} else {
			Ext.Msg.confirm('确认提示', '你确定要加入这些考核指标?', function(btn) {
				if (btn != 'yes') {
				　  return;
				}
			});
		}
		var frm = query_goaldetail.findByType('form')[0].getForm();
//		alert(frm);
		var orgId  = frm.findField('orgId').getValue();
//		alert(orgId);
		var records = grid_query_goaldetail.getSelectionModel().getSelections();
		var ids = [];
		for(var i = 0, count = records.length; i < count; i++){
 			ids.push(records[i].get('id'));
		}
//		alert(ids);
//		提交保存数据
		Ext.getBody().mask("数据正在提交，请稍等...","x-mask-loading"); 
		Ext.Ajax.request({
			url : '/supervise/biz/orggoalsetting/saveOrgGoalSetting.action',
			success : function(response, options) {
				Ext.getBody().unmask();
				var store = grid_orggoalsetting.getStore();
			    var fromRecord = null;
				var toRecord = null;
				for(var i = 0, count = records.length; i < count; i++){
					toRecord = new OrgGoalSettingDto({
		//						id : action.result.id,
						goalId : records[i].get('id'),
		//						categoryId : records[i].get('categoryId'),
						content : records[i].get('content'),
						point : records[i].get('point'),
						spec : records[i].get('spec'),
						orgId : records[i].get('checkOrgId'),
						year : records[i].get('year'),
						goalType : 'normal'
					});
		//					alert(Ext.util.JSON.encode(toRecord));
					store.insert(0, [toRecord]);
				}
				window_query_goaldetail.hide();
			},
			failure : function() {
				Ext.getBody().unmask();
				window_edit_goalcategory.hide();
				Ext.Msg.alert('提示', '数据保存失败！');
			},
			params : {
				orgIds : orgId,
				goalIds : ids.join(','),
				goalType : 'normal'
			}
		});
	}
});
//var btn_edit_goaldetail = new Ext.Button({
//			text : '修改指标细则',
//			iconCls : 'icon-edit',
//			handler : function() {
//				if (!grid_query_goaldetail.checkOne()) {
//					return;
//				}
//				window_edit_goaldetail.show(this);
//				window_edit_goaldetail.center();
//				var record = grid_query_goaldetail.getSelectionModel().getSelected();
//				var frm = Ext.getCmp("form_edit_goaldetail").getForm();
//				// set value
//				frm.findField('goalDetail.id').setValue(record.get("id"));
//				frm.findField('goalDetail.categoryId').setValue(record.get("categoryId"));
//				frm.findField('goalDetail.content').setValue(record.get("content"));
//				frm.findField('goalDetail.point').setValue(record.get("point"));
//				frm.findField('goalDetail.spec').setValue(record.get("spec"));
//				frm.findField('goalDetail.ordering').setValue(record.get("ordering"));
//				frm.findField('goalDetail.memo').setValue(record.get("memo"));
//				frm.findField('goalDetail.checkOrgId').setValue(record.get("checkOrgId"));
//				frm.findField('goalDetail.percent').setValue(record.get("percent"));
//				frm.findField('goalDetail.categoryIdPath').setValue(record.get("categoryIdPath"));
//				frm.findField('goalDetail.categoryNamePath').setValue(record.get("categoryNamePath"));
//				frm.findField('goalDetail.year').setValue(record.get("year"));
//			}
//		});
//var btn_del_goaldetail = new Ext.Button({
//			text : '删除指标细则',
//			iconCls : 'icon-del',
//			handler : function() {
//				var record = grid_query_goaldetail.getSelectionModel().getSelected();
//				if (record) {
//					Ext.Msg.confirm('确认删除', '你确定删除该条记录?', function(btn) {
//								if (btn == 'yes') {
//									Ext.Ajax.request({
//												url : '/supervise/biz/goaldetail/deleteGoalDetail.action',
//												params : {
//													id : record.data.id
//												},
//												success : function() {
//													grid_query_goaldetail.getStore().remove(record);
//												},
//												failure : function() {
//													Ext.Msg.show({
//																title : '错误提示',
//																msg : '删除时发生错误!',
//																buttons : Ext.Msg.OK,
//																icon : Ext.Msg.ERROR
//															});
//												}
//											});
//								}
//							});
//				}
//			}
//		});
//var btn_search_goaldetail = new Ext.Button({
//	text : '查询',
//	iconCls : 'icon-search',
//	handler : function() {
//		grid_query_goaldetail.render();
//		ds_query_goaldetail.load();
//	}
//});

var ds_query_goaldetail = new Ext.data.Store({
	proxy : new Ext.data.HttpProxy({
		url : '/supervise/biz/goaldetail/findGoalDetailByPage.action'
	}),
	reader : new Ext.data.JsonReader({
		root : 'root',
		successProperty :'success'
	}, [{
			name : 'id',
			type : 'int'
		}, {
			name : 'categoryId',
			type : 'int'
		},{
			name : 'content',
			type : 'string'
		},{
			name : 'point',
			type : 'float'
		},{
			name : 'spec',
			type : 'string'
		}, {
			name : 'ordering',
			type : 'float'
		}, {
			name : 'memo',
			type : 'string'
		},{
			name : 'checkOrgId',
			type : 'int'
		},{
			name : 'percent',
			type : 'float'
		},{
			name : 'categoryIdPath',
			type : 'string'
		},{
			name : 'categoryNamePath',
			type : 'string'
		},{
		name : 'year',
		type : 'int'
	}])
});

var grid_query_goaldetail = new Ext.grid.GridPanel({
//	iconCls : 'icon-grid',
	loadMask : {
		msg : '数据加载中...'
	},
	region : 'center',
	height: 600,
	cm : cm_query_goaldetail,
	sm : new Ext.grid.CheckboxSelectionModel({
		singleSelect : false
	}),
	store : ds_query_goaldetail,
	autoExpandColumn : 'content',
	tbar : [btn_add_goal_setting],
	bbar : new Ext.PagingToolbar({
				pageSize : 20,
				store : ds_query_goaldetail,
				displayInfo : true,
				displayMsg : '第 {0} - {1} 条  共 {2} 条',
				refreshText : "刷新",
				emptyMsg : "没有记录"
			}),
	// 检测至少选择一个
	checkOne : function() {
		var selections = this.getSelectionModel().getSelections();
		if (selections.length == 0) {
			Ext.MessageBox.alert("提示", "请选择一条的记录！");
			return false;
		} else if (selections.length != 1) {
			Ext.MessageBox.alert("提示", "不能选择多行！");
			return false;
		}
		return true;
	},

	// 检测必须选择一个
	checkMany : function() {
		var selections = this.getSelectionModel().getSelections();
		if (selections.length == 0) {
			Ext.MessageBox.alert("提示", "请至少选择一条的记录！");
			return false;
		}
		return true;
	}
});
var query_goaldetail = new Ext.Panel({
//	title : '<h3 style="color:Green">请输入查询条件</h3>',
	height : 150,
	region : "north",
	baseCls:"x-plain",
	style:"padding:5px",
	layout:"column",
	items:[{
		columnWidth:0.6,
		layout:"form",
		frame : true,
		baseCls : 'x-plain',
		items : [new Ext.FormPanel({
			labelAlign : 'right',
			border : false,
			baseCls : 'x-plain',
			bodyStyle : 'padding:5px 5px 0',
			defaults : {
				anchor : '90%',
				width : 240,
				msgTarget : 'side' // 验证信息显示右边
			},
			defaultType : 'textfield',
			items:[{ 
					fieldLabel : '考核年度',
					name : 'yearName' , 
					disabled : true
				},{
					xtype : 'hidden',
					name : 'year'
				}, {
					xtype : 'hidden',
					name : 'categoryId'
				}, {
					fieldLabel : '部门',
					name : 'orgName',
					disabled : true
				},{
					xtype : 'hidden',
					name : 'orgId'
				},{
					xtype : 'combo',
					fieldLabel : '考核责任单位',
					hiddenName : 'checkOrgId',
					valueField : 'id',
					displayField : 'name',
					mode : 'remote',
					store : ds_org_select,
					selectOnFocus : true,
					editable : false,
					allowBlank : true,
					triggerAction : 'all',
					loadingText : '加载中...',
					emptyText : '请选择部门'
				}, {
					fieldLabel : '考核内容',
					name : 'content'
				}],
			buttonAlign : 'center',
			minButtonWidth : 60,
			buttons : [{
						text : '查询',
						handler : function(btn) {
							var frm = this.ownerCt.ownerCt.getForm();
//							alert(frm.findField('year').getValue());
//							alert(frm.findField('orgId').getValue());
//							alert(frm.findField('content').getValue()); 
							var items = btn.ownerCt.ownerCt.items;
							ds_query_goaldetail.load({params : {
								start : 0,limit : 20,
								year : frm.findField('year').getValue(),
//								categoryId : frm.findField('categoryId').getValue(),
								content : frm.findField('content').getValue(),
								checkOrgId : frm.findField('checkOrgId').getValue()
							}});}
					},{
						text : '重置',
						handler : function() { 
							var frm = this.ownerCt.ownerCt.getForm();
							frm.findField('content').reset();
						}
					}]
		})]
	}]
});
 

